package com.roamer.audition.common.request;

import com.roamer.validator.DateTime;
import com.roamer.validator.DimensionType;
import com.roamer.validator.MatchType;
import com.roamer.validator.gruop.Add;
import com.roamer.validator.gruop.Update;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import javax.validation.constraints.NotNull;
import javax.validation.constraints.Size;
import java.io.Serializable;

/**
 * 面试计划 DTO
 *
 * @author roamer
 * @version V1.0
 * @date 2019-08-20 22:55
 */
@ApiModel(value = "面试计划 DTO")
@Data
public class AuditionRecordSimpleDTO implements Serializable {
    private static final long serialVersionUID = 5155454500769984854L;

    @ApiModelProperty(value = "公司ID", hidden = true)
    private Long companyId;

    @ApiModelProperty(value = "开始日期", required = true)
    @NotNull(message = "开始日期不可为NULL", groups = {Add.class, Update.class})
    @DateTime(matchType = MatchType.ge, dimension = DimensionType.day, message = "开始日期必须大于等于当前日期",
            groups = {Add.class, Update.class})
    private Long beginTime;

    @ApiModelProperty(value = "备注")
    @Size(max = 255, message = "备注最大字符长度255", groups = {Add.class, Update.class})
    private String remark;

}
